const webpack = require("webpack")
// node 的 path 模块
const path = require("path") 
const { ProgressPlugin } = require("webpack")
// 分析打包后资源文件
const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer")




// HtmlWebpackPlugin
const HtmlWebpackPlugin = require("html-webpack-plugin")
// 复制静态资源
const CopyPlugin = require("copy-webpack-plugin")
// 自定义plugin
const pluginDemo = require("./src/plugin-demo/plugin-fileList")
//common.js语法

module.exports = {
	mode:"production", // *开发环境  production 生产环境
	watch:true,
	experiments: {  // *实验特性
		layers: true,
    
		// outputModule: true, //* 配合libary.type为 module使用
		//backCompat: true, //*为许多 webpack 4 api 启用后向兼容层，并发出弃用警告。
	},
	// target:'web', //*webpack 能够为多种环境或 target 构建编译。https://www.webpackjs.com/configuration/target/
	// *设置打包结果最终要运行的环境，常用值有

	//* - web: 打包后的代码运行在web环境中
	//* - node：打包后的代码运行在node环境中
	// *- 其他：https://www.webpackjs.com/configuration/target/
 
	// stats:{
	//   warnings:false,
	//   warningsCount:false,
	//   // modules: false,
	//   // hash: false,
	// },//*stats控制的是构建过程中控制台的输出内容
  
	plugins: [
    
   

   

		// }
    

		new webpack.BannerPlugin({
			banner:"\nconsole.log(\"Hello, World!\");",
			entryOnly: true,
			exclude:/\.(css)$/i,
			raw:true // 这里设置true情况下，banner一定要是js语法，要不然编译出错
		}),


		// new BundleAnalyzerPlugin(),
     


	],
  
  
  



}
